/********************************************
 * 功能说明: 
 * 模块名称: 
 * 系统名称: 
 * 软件版权: Frank
 * 系统版本: 1.0.0
 * 开发人员: Frank
 * 开发时间: 2019/12/12 10:53
 * 审核人员: 
 * 相关文档: 
 * 修改记录: 修改日期 修改人员 修改说明
 *********************************************/
package com.spring.arch.uaa.errorcode;

import com.spring.arch.common.exception.IErrorCode;

/**
 * 错误码
 *
 * @author Frank
 * @version 1.0.0.1
 * @since 2019/12/12 10:53
 */
public enum UaaErrorCode implements IErrorCode {

    /**************租户模块*************/
    E2001001001(2001001001,"租户[%s]不存在"),
    E2001001002(2001001002,"租户人员[%s]不存在"),
    E2001001003(2001001003,"租户名称[%s]已存在"),
    E2001001004(2001001004,"租户人员工号已存在"),
    E2001001005(2001001005,"租户简称[%s]已存在"),
    E2001001006(2001001006,"租户根组织信息为空"),

    /**************项目模块*************/
    E2001002001(2001002001,"项目[%s]不存在"),
    E2001002002(2001002002,"项目ID不能为空"),
    E2001002003(2001002003,"项目根组织信息为空"),
    E2001002004(2001002004,"项目中人员已存在"),

    /**************组织模块*************/
    E2001003001(2001003001,"组织[%s]不存在"),
    E2001003002(2001003002,"组织下人员已存在"),
    E2001003003(2001003003,"组织名称已存在"),
    E2001003004(2001003004,"组织人员[%]不存在"),
    E2001003005(2001003005,"组织人员角色[%]不存在"),

    /**************人员模块*************/
    E2001004001(2001004001,"人员[%s]不存在"),
    E2001004002(2001004002,"人员[%s]已经存在"),
    E2001004003(2001004003,"电话号码[%s]已经存在"),
    E2001004004(2001004004,"人员工号[%s]已经存在"),

    /**************用户模块*************/
    E2001005001(2001005001,"用户[%s]不存在"),
    E2001005002(2001005002,"该用户无访问系统权限"),
    E2001005003(2001005003,"用户名或者密码错误"),
    E2001005004(2001005004,"用户状态异常"),
    E2001005005(2001005005,"用户密码错误"),
    E2001005006(2001005006,"用户登陆状态异常，请重新登陆"),
    E2001005007(2001005007,"用户客户端id[%s]不存在"),
    E2001005008(2001005008,"解析用户Token[%s]失败"),
    E2001005009(2001005009,"用户[%s]已存在"),

    /**************角色模块*************/
    E2001006001(2001006001,"角色[%s]不存在"),
    E2001006002(2001006002,"资源[%s]不存在"),
    E2001006003(2001006003,"内置角色不允许%s"),
    E2001006004(2001006004,"角色[%s]已存在"),

    /**************项目模块*************/
    E2001007001(2001006001,"schema为[%s]数据源不存在"),
    E2001007002(2001006002,"项目[%s], 数据源[%s], 创建失败"),
    E2001007003(2001006003,"数据源[%s], 更新失败"),
    E2001007004(2001006004,"项目[%s], 不可用状态更新失败"),
    E2001007005(2001006005,"项目[%s], 可用状态更新失败"),
    E2001007006(2001006006,"数据源[%s]不存在"),
    ;

    private int code;
    private String msg;

    UaaErrorCode(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    /**
     * Msg string.
     *
     * @return the string
     */
    @Override
    public String msg() {
        return msg;
    }

    /**
     * Code int.
     *
     * @return the int
     */
    @Override
    public int code() {
        return code;
    }

}
